﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace WMS.Seven.Models
{
    /// <summary>
    /// 盘点管理
    /// </summary>
    public class InventoryManagement : Entity<int>
    {
        /// <summary>
        /// 盘点单号
        /// </summary>
        [StringLength(50)] // 最大长度
        public string CheckNumber { get; set; } = string.Empty;

        /// <summary>
        /// 盘点类型
        /// </summary>
        [StringLength(50)] // 最大长度
        public string CheckType { get; set; } = string.Empty;

        /// <summary>
        /// 产品名称
        /// </summary>
        [StringLength(64)] // 最大长度
        public string ProductName { get; set; } = string.Empty;

        /// <summary>
        /// 产品编号
        /// </summary>
        [StringLength(64)] // 最大长度
        public string ProductNumber { get; set; } = string.Empty;

        /// <summary>
        /// 批次
        /// </summary>
        [StringLength(30)] // 最大长度
        public string BatchNumber { get; set; } = string.Empty;

        /// <summary>
        /// 单位
        /// </summary>
        [StringLength(10)] // 最大长度
        public string Unit { get; set; } = string.Empty;

        /// <summary>
        /// 数量
        /// </summary>
        [Required] // 必填
        public int Quantity { get; set; }

        /// <summary>
        /// 库存
        /// </summary>
        [Required] // 必填
        public int Inventory { get; set; }

        /// <summary>
        /// 库存计数
        /// </summary>
        [Required] // 必填
        public int InventoryCount { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [Required] // 必填
        public int Status { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(300)] // 最大长度
        public string Remark { get; set; } = string.Empty;

        /// <summary>
        /// 创建人
        /// </summary>
        [StringLength(20)] // 最大长度
        public string Creator { get; set; } = string.Empty;

        /// <summary>
        /// 创建时间
        /// </summary>
        [Required] // 必填
        public DateTime CreateDate { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        [StringLength(20)] // 最大长度
        public string ModifiedBy { get; set; } = string.Empty;

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime ModifiedDate { get; set; }
    }
}
